#ifndef SWEEPPOLYHEDRA_H
#define SWEEPPOLYHEDRA_H

#include <GL/gl.h>
#include <GL/glu.h>
#include <deque>
#include "basecurve.h"
#include "instruction.h"

typedef std::deque<Instruction> Trajectory;
typedef std::deque<BaseCurve> Curves;

class SweepPolyhedra
{
public:
    Curves curves;

    SweepPolyhedra();
    SweepPolyhedra(BaseCurve baseCurve , Trajectory trajectory);

    void calculateNormals(BaseCurve curve , Trajectory trajectory);
    void draw(bool showNormals);
    void drawSection(BaseCurve begin , BaseCurve end);
};

#endif // SWEEPPOLYHEDRA_H
